﻿using System;
using System.Collections.Generic;
using System.Text;
using stsdev.Builders.SolutionFiles;

namespace stsdev.Builders.SourceFiles
{
    public abstract class AbstractSourceFile
    {
        public AbstractSourceFile(SolutionFileBuilder solutionFileBuilder, ProjectFileBuilder projectFileBuilder)
        {
            _solutionFileBuilder = solutionFileBuilder;
            _projectFileBuilder = projectFileBuilder;
        }

        abstract public void EnsureFolderStructure();
        abstract public void Create(string sourceFileName);
        abstract public void Refresh(string sourceFileName);

        private SolutionFileBuilder _solutionFileBuilder;
        protected SolutionFileBuilder SolutionBuilder
        {
            get
            {
                return _solutionFileBuilder;
            }
        }

        private ProjectFileBuilder _projectFileBuilder;
        protected ProjectFileBuilder ProjectBuilder
        {
            get
            {
                return _projectFileBuilder;
            }
        }
    }
}
